/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao.jpa;

import model.Usuario;
import model.Veiculo;
import dao.VeiculoDAO;
import java.util.List;
import javax.persistence.Query;
import util.JPAUtil;

/**
 *
 * @author visitante
 */
public class VeiculoJpaDAO extends AbstractJpaDao<Veiculo, Long> implements VeiculoDAO {
// copiar essa linha abaixo para os outros jpaDAO!Lembrar de fazer as alterações necessárias.

    public VeiculoJpaDAO() {
        super(Veiculo.class);
    }

    public List<Veiculo> getAll() {
        return JPAUtil.getEntityManager().createQuery("from Veiculo").getResultList();
    }

    public List<Veiculo> getPorMarca(String marca) {
        String s = "select v from Veiculo v"
                + "where v.marca = ?";
        Query query = JPAUtil.getEntityManager().createQuery(s);
        query.setParameter(1, marca);

        return (List<Veiculo>) query.getResultList();
    }

    public List<Veiculo> getPorModelo(String modelo) {
        String s = "select v from Veiculo v"
                + "where v.modelo = ?";
        Query query = JPAUtil.getEntityManager().createQuery(s);
        query.setParameter(1, modelo);

        return (List<Veiculo>) query.getResultList();
    }

    public Veiculo getPorPlaca(String placa) {
        String s = "select v from Veiculo v"
                + "where v.placa = ?";
        Query query = JPAUtil.getEntityManager().createQuery(s);
        query.setParameter(1, placa);

        return (Veiculo) query.getSingleResult();
    }
}
